#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :ReturnMultipleValues.py
# @Time      :2021/3/1 13:58
# @Author    :Letquit
"""
文件说明：返回多个值

"""
# 比如在游戏中经常需要从一个点移动到另一个点，给出坐标、位移和角度，就可以计算出新的坐标
import math


def move(x, y, step, angle=0):
    nx = x + step*math.cos(angle)
    ny = y - step*math.sin(angle)
    return nx, ny
# import math语句表示导入math包，并允许后续代码引用math包里的sin、cos等函数
# 然后，我们就可以同时获得返回值


x, y = move(100, 100, 60, math.pi / 6)
print(x, y)
# 但其实这只是一种假象，Python函数返回的仍然是单一值
r = move(100, 100, 60, math.pi / 6)
print(r)
# 原来返回值是一个tuple！但是，在语法上，返回一个tuple可以省略括号，而多个变量可以同时接收一个tuple，
# 按位置赋给对应的值，所以，Python的函数返回多值其实就是返回一个tuple，但写起来更方便




if __name__ == "__main__":
    run_code = 0
